// 两种创建方式
// 1、字面量
const arr1 = [1, 'a', [1]];

// 2、构造函数 无法直接创建一个只包含一个数字的数组
const arr2 = new Array(10) // undefined
const arr3 = Array(10)
// 构造函数传参长度大于等于2时 依次填充


// ES6中对Array的扩展 可以将参数依次转化为数组项然后返回这个新数组
Array.of(5, 6);

// Array.form
// 从一个类数组可迭代对象中创建一个新的数组实例 不会改变原对象
// 可迭代=》 数组
// 三个参数 类数组对象 加工函数（生成的数组会经过该函数加工） this作用域（加工函数执行时的作用域）

let obj = { 0: 'a', 1: 'b', 2: "c", length: 3 }
let res = Array.from(obj, function (value, index) {
    // console.log(value, index, this);
    return value.repeat(3);
})

console.log(res);
// 拥有迭代器的对象 String Set Map等

